package sv.edu.ues.igf115.clave1.dominio;
// Generated 08-nov-2013 23:15:45 by Hibernate Tools 3.2.1.GA


import java.util.Date;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * ClienteTarjetaEstado generated by hbm2java
 */
@Entity
@Table(name="cliente_tarjeta_estado"
    ,catalog="clave1"
)
public class ClienteTarjetaEstado  implements java.io.Serializable {


     private ClienteTarjetaEstadoId id;
     private Establecimiento establecimiento;
     private TarjetaCredito tarjetaCredito;
     private Cliente cliente;
     private long cargo;
     private long cargosMes;
     private String concepto;
     private Date fechaTransaccion;

    public ClienteTarjetaEstado() {
    }

    public ClienteTarjetaEstado(ClienteTarjetaEstadoId id, Establecimiento establecimiento, TarjetaCredito tarjetaCredito, Cliente cliente, long cargo, long cargosMes, String concepto, Date fechaTransaccion) {
       this.id = id;
       this.establecimiento = establecimiento;
       this.tarjetaCredito = tarjetaCredito;
       this.cliente = cliente;
       this.cargo = cargo;
       this.cargosMes = cargosMes;
       this.concepto = concepto;
       this.fechaTransaccion = fechaTransaccion;
    }
   
     @EmbeddedId
    
    @AttributeOverrides( {
        @AttributeOverride(name="fechaLimitePago", column=@Column(name="fecha_limite_pago", nullable=false, length=10) ), 
        @AttributeOverride(name="idCliente", column=@Column(name="id_cliente", nullable=false, length=5) ), 
        @AttributeOverride(name="idTarjeta", column=@Column(name="id_tarjeta", nullable=false, length=5) ) } )
    public ClienteTarjetaEstadoId getId() {
        return this.id;
    }
    
    public void setId(ClienteTarjetaEstadoId id) {
        this.id = id;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="num_referencia", nullable=false)
    public Establecimiento getEstablecimiento() {
        return this.establecimiento;
    }
    
    public void setEstablecimiento(Establecimiento establecimiento) {
        this.establecimiento = establecimiento;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_tarjeta", nullable=false, insertable=false, updatable=false)
    public TarjetaCredito getTarjetaCredito() {
        return this.tarjetaCredito;
    }
    
    public void setTarjetaCredito(TarjetaCredito tarjetaCredito) {
        this.tarjetaCredito = tarjetaCredito;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_cliente", nullable=false, insertable=false, updatable=false)
    public Cliente getCliente() {
        return this.cliente;
    }
    
    public void setCliente(Cliente cliente) {
        this.cliente = cliente;
    }
    
    @Column(name="cargo", nullable=false)
    public long getCargo() {
        return this.cargo;
    }
    
    public void setCargo(long cargo) {
        this.cargo = cargo;
    }
    
    @Column(name="cargos_mes", nullable=false)
    public long getCargosMes() {
        return this.cargosMes;
    }
    
    public void setCargosMes(long cargosMes) {
        this.cargosMes = cargosMes;
    }
    
    @Column(name="concepto", nullable=false, length=25)
    public String getConcepto() {
        return this.concepto;
    }
    
    public void setConcepto(String concepto) {
        this.concepto = concepto;
    }
    @Temporal(TemporalType.DATE)
    @Column(name="fecha_transaccion", nullable=false, length=10)
    public Date getFechaTransaccion() {
        return this.fechaTransaccion;
    }
    
    public void setFechaTransaccion(Date fechaTransaccion) {
        this.fechaTransaccion = fechaTransaccion;
    }




}


